oracle listagg替代wm

您所在的位置:网站首页 oracle concat()函数 oracle listagg替代wm

oracle listagg替代wm

2024-07-16 04:59| 来源: 网络整理| 查看: 265

原sql: select e.comment_id, e.evaluate_type, wmsys.wm_concat(evaluate_label) labels from evaluating_label e where exists(select * from evaluation o where o.order_id = '123' and e.comment_id = o.id) group by e.comment_id, e.evaluate_type

效率极低,三万多条数据十多分钟都没查出来

替换listagg后

select e.comment_id, e.evaluate_type, listagg(e.EVALUATE_LABEL, ',') within group ( order by null) labels from evaluating_label e where exists (select * from evaluation o where o.order_id = '123' and e.comment_id = o.id) group by e.comment_id, e.evaluate_type;

三秒内就出结果了。。。。

补充函数文档说明: listagg() String Aggregation Techniques

值得一提的是,WM_CONCAT在12c后的版本被删除掉了. 在这里插入图片描述



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3